Contents
Copyright © 1994 Totem Systems Limited	Snapper - the easy new way to banish those untidy desktop blues!
Table of Contents

What is Snapper? - a basic definition

Why should I register?

How do I use Snapper?

Setting up Snapper

Snapper Commands

	Snap to Desktop - Tidying your entire desktop
	Snap to Region - Tidying part of your screen
	Snap to Grid - Making minor alignments
	Snap to Neighbour - aligning a single window
Snapper MDI Commands

	What do we mean by MDI?
	Snap to MDI Parent - Fitting child windows to the MDI frame
	Snap to MDI Region - Tidying some of your MDI child windows
	Snap to MDI Grid - Making minor alignments within the MDI frame
	Snap to MDI Neighbour - aligning a single child window


What is Snapper?

Just what is Snapper for?

A lot of Windows users waste an awful lot of their time arranging their work on the screen so it's just right - moving one window by a fraction of an inch and then having to resize the one next to it to get rid of the gap, and so on.  You probably know just how much fun that can be.  This is particularly relevant when you have to be able to monitor several windows at the same time.

The standard Windows Tile utility falls some way short of being a satisfactory answer to this problem, and so we've come up with something that goes a little further.  Using Snapper, you get a lot more control over the way your desktop is arranged.  You can use Snapper to force any or all of your windows to do one of four things: fill the available space as intelligently as possible; fill a defined area of the screen with the windows you want; align all the windows to an invisible grid; or fit in with their immediate neighbours.  You can use Snapper on all valid applications on your desktop or on child windows within an MDI frame.

Here's a simplistic visual representation of what effect Snapper has in its different uses.

MODE OF USAGE	BEFORE SNAPPER	AFTER SNAPPER	EFFECT	COMMENTS
Snap to Desktop  (or Parent)			Arranges all active windows to fit  the desktop	Unlike Tile, which tries to make all window sizes equal, Snapper tries to scale the desktop layout so that relative positions and sizes are maintained.
Snap to Region			Arranges selected windows	As above, but only windows within a user defined region are scaled. Once selected, the region can be repositioned around the screen.
Snap to Grid			Aligns all windows to a user-defined grid	A basic tool for those who wish to move and size windows without Snappers help. This tool is ideal for removing small gaps between window edges.
Snap to Neighbour			Aligns a single window to nearest windows	Create a space on the desktop for a window, position it over the gap and then let Snapper resize and position the window to snugly fill the gap.

To get a fuller explanation of each of these ways of using Snapper, please consult the relevant Help topic by using the Search facility or referring to the Contents page.


Why register Snapper?

Why you should register your copy of Snapper.

Heroes

Apart from anything else, you'll probably want to register your copy of Snapper because you're a decent human being and you wouldn't contemplate using unregistered software products for one second beyond their free trial period.

Villains

Believe it or not, there are other people, not like you at all, who carry on using shareware products beyond the agreed free usage deadline.  Recent changes in the law relating to software distribution mean that we had to abandon our plans for the under-desk chainsaw module of Snapper to automatically kick in after 30 days, so we had to think of other ways of dissuading these people from abusing our generosity.  We've decided that we will have to resort to the old infuriating bitmap strategy.  Apologies if you're an honest law-abiding shareware user, but we have to try and make a living out of stuff like this.

Fiendish device

As you use your unregistered copy of Snapper, you'll notice that a bitmap appears from time to time, asking you to click on one of the four OK buttons in order to clear it from the screen.  You have to guess which one, since we decide at random, in order to be doubly annoying.  You could of course spend your time writing a utility to try all three buttons, but it's probably cheaper and more sensible just to send us a cheque.

Missing treasures

You'll also notice that there are some greyed out entries in the menu of the unregistered version of Snapper.  These are wonderful features which you won't get to play with if you don't register.

Impressed by the force of our argument, you decide to register - but how?

Easy.  Just send us a cheque (made payable to Totem Systems Limited) for £29.95 and you will receive a shiny new Totem disk complete with your very own copy of Snapper.  Please allow a reasonable time for delivery.  Send your cheques to the following address:

TOTEM SYSTEMS LIMITED

THE GATTINETTS

HADLEIGH ROAD

EAST BERGHOLT

COLCHESTER CO7 6 QT


Using Snapper

How to use Snapper

When you fire up Snapper from Program Manager, File Manager or some other means of launching applications, a bitmap appears containing our corporate logo, an image of a shark and some text.  After a few seconds, this disappears and the Snapper icon surfaces in the bottom left-hand corner of your screen.

Snapper is the sort of utility which you may well want to leave running all the time.  You can do this quite safely - Snapper is a well-behaved application which hardly uses any of your valuable machine resources.

A single left click of the mouse on the Snapper icon will bring up the Snapper menu and the Explanation bar. The Explanation bar (optional) serves to give you a slightly fuller description of the purpose of each of the menu entries.  Use the cursor keys to highlight the different menu entries and the description on the explanation bar will change accordingly.

As well as the usual entries (Move, Close, Help, About etc.), the menu offers you eight distinct Snapper functions, with four on the left referring to parent applications and four on the right referring to child windows within an MDI.  (See the help section entitled What do we mean by MDI? for a fuller explanation of what this means.)  Click on any of the entries in the menu to carry out that action.

The best way to learn how to use Snapper's utilities is by experimenting with them. In order to facilitate this, Snapper always remembers the size and position of all the windows prior to the last action. The menu option "Undo Last Action" will restore the windows to their previous condition should Snapper produce a result that you are not entirely happy with. Also, when you perform the first command after launching Snapper, the size and position of all windows (excluding MDI Child windows) are recorded. The menu option "Reset Windows" will immediately restore all windows back to the positions they occupied prior to the current Snapper session.


Setting up Snapper

Snapper Setup

Snapper contains a configuration facility which allows you to set things up the way you want them to work.  When you choose Set up Snapper from the menu, a dialog box appears which invites you to set up your Desktop workspace, your Parent Window workspace, your spacing options and the default result of activating Snapper.

Modifications made to the setup configuration are only valid for the lifetime of the current Snapper session. To make any changes permanent, select "Save Options as Default?" before selecting the OK button. This will save all the options in a  file (SNAPPER.INI) for future reference.

Setting up your Desktop or Parent Window workspace

The first two options in the setup dialog simply allow you to specify whether you prefer the Snap to Desktop or Snap to MDI Parent options to use all the available workspace for scaling the windows. The alternative is for Snapper to preserve the bottom of the workspace so that minimised applications are still visible and can be selected after the windows have been re-sized.

Scaling Options

The algorithm used in Snap to Desktop/ MDI Parent uses recursion techniques to determine which windows need to be sized together in order to maintain the relative scale and position of the original desktop layout. The response of this algorithm can be modified slightly by adjusting the Percentage Overlap factor. Please refer to this section for a more detailed explanation.

In Snap to Grid the screen is divided up into an invisible grid with a resolution as defined in this section of the setup dialog. When Snap to Grid is invoked, the edges of all the windows on the desktop are dragged to the nearest gridpoint. Windows which overlap slightly or have a small gap between each other, should snap to the same grid-point and therefore fit snugly together. Window dimensions which extend beyond the limits of the desktop are cropped to the edge of the desktop.

Snap to Region Options

Snap to (MDI) Region has a special facility which allows you to define a default region. To implement this option, you should enable the "Use Pre-defined Region.." option and select Snap to Region as the default within the "Other Options" section.

You can also redefine the default region using the mouse. To do this, select the "Define Region..." button and use the left mouse button to select the region. As you move the mouse around the screen, the values in the coordinate boxes track the mouse position; use these values to fine tune the area you wish to select as default. Thereafter, any double-clicking of the Snapper icon with the right mouse button will invoke Snap to Region using the default area.

Other Options

In this section of the dialog box you can choose which of the Snapper options you prefer as a default action. The option chosen can be initiated by simply double-clicking on the Snapper icon using the right mouse button. Please see the Help section of the relevant command for any specific details required with this option. Note, the MDI options cannot be invoked by double-clicking the Snapper icon using the right mouse button.

You can also select whether or not you wish to have a pop-up Explanation bar visible when selecting an entry from the Snapper menu. The Explanation bar serves to give you a slightly fuller description of the purpose of each of the menu entries.  Use the cursor keys to highlight the different menu entries and the description on the explanation bar will change accordingly.

Finally, the setup dialog lets you choose if you want to hear an audible prompt every time you select a Snapper command. This option is useful for confirming that you have selected the default option when double-clicking the Snapper icon with the right mouse button.


Snap to Desktop

Snap to Desktop - How to tidy your entire screen

This option is used when you want to take all of the suitable applications that are in a restored or maximized state on your desktop and arrange them to use all of the available space. Unlike the Windows Tile facility, which tries to make all window sizes equal, Snapper tries to scale the desktop layout so that relative positions and sizes are maintained. In other words, it will allow you to turn this

	into this	or this
	minimized applications hidden		minimised applications visible

You can use the Snapper setup option to determine whether or not Snapper should preserve an area at the bottom of the screen for your minimized applications.

Snapper is not a mind reader, so it will produce much better results if you give it some clues about what you want to achieve. Place your windows very roughly where you want them to appear and then use Snapper and you'll get great results.  Pile all of your windows on top of each other and then use Snapper and you may get a less satisfactory outcome.  (Typically, when Snapper is a bit confused, it tries to tile all windows horizontally.)

The algorithm used in Snapper uses recursion techniques to determine which windows need to be sized together in order to maintain the relative scale and position of the original desktop layout. The response of this algorithm can be modified slightly by adjusting the Percentage Overlap factor in the setup dialog box. Please refer to this section for a more detailed explanation.

  Click here for hints and tips


MODIFYING THE PERCENTAGE OVERLAP

When modifying a window's size in either the horizontal or vertical dimension, Snapper uses recursion to see if any other windows need to be included in the scaling calculation in order to ensure that all the windows fit neatly into the desktop. If two windows overlap in one dimension by only one or two pixels should Snapper include the two together in scaling operations or should it treat them separately?

If you are very particular about your desktop layout, you may want to carefully position and size your windows and only let Snapper do the final clean-up -- in this case you may prefer Snapper to scale windows together if they overlap by even one pixel. If, on the other hand, you want Snapper to do all the hard work, you may prefer a significant amount of overlap before windows are required to snap together. ( in your wisdom you realise that if you don't like the results you can select Undo..., reposition the windows slightly, and try again!).

The Percentage overlap option in the setup dialog allows you to adjust Snapper's response to overlapping windows. This ratio is expressed as the length of overlap divided by the length of the smallest of the two windows. When two windows overlap by more than the set value they are included together in scaling calculations.

Here's a simplistic visual representation of what effect the percentage overlap has on two windows:

	turns this	into this
	Snapper setup to tolerate very little overlap		windows X and Y overlap by more than 10% in horizontal dir'n		Snapper assumes that you want these windows sized together
	turns this	into this
	Snapper setup to tolerate large overlaps		windows X and Y overlap by less than 35% in horizontal dir'n		Snapper assumes that you want these windows sized separately

As delivered, Snapper is setup to allow large overlaps (35%) before snapping windows together. This setting should be suitable for most users.


SNAP TO DESKTOP HINTS AND TIPS

•      You can set Snap to Desktop as the default Snapper option using the setup dialog box. This will allow you to invoke the Snap to Desktop command by simply double-clicking the fearsome Snapper icon using the right mouse button.

•      Minimized applications are not included in the Snap to Desktop instruction, so minimize any you don't want to include in the arrangement.

•      Popup windows such as dialog boxes and message boxes are not included in the Snap to Desktop instruction. This is because these windows are considered to be temporary in nature. Unfortunately, there are a rare number of applications where the main display has also been designed as a popup feature. Snapper will not include these applications in any desktop reorganisation and may therefore not produce the desired result.

•      Some applications are designed to have a restricted range of possible sizes for their main display window; a good example of this are MS-DOS windows where the maximum window dimensions are defined by the size of the font used. When Snapper tries to resize this type of application, there is no guarantee that the window will allow itself to be modified, and results may not be as expected.


Snap to Region
Snap to Region - How to tidy a specified part of your screen

Use this option when you want to organize some but not all of the applications on your desktop.  You may, for instance, be happy with the way your Excel window looks but want to fit all the other windows around it as well as possible.  Snap to Region will let you do this:

	becomes this

The Snap to Desktop command is in fact a restricted version of Snap to Region; the region is defined as the entire desktop by default. Therefore, all of the instructions for Snap to Desktop apply equally to Snap to Region.

When you select Snap to Region from the Snapper menu, the normal Windows cursor is temporarily replaced by a pretty mean-looking Snapper cursor. You use this to define a rectangle which will contain all of your rearranged windows. Press the Escape key at any time during this routine to cancel the command and revert to your normal cursor.

Position the Snapper cursor at the top left-hand corner of your desired region of the screen, hold down the left mouse button, and drag the mouse until the bounding rectangle is the size you want. When you release the left mouse button, all the windows that are fully or partially enclosed by the bounding rectangle will be included in the rearrangement. As for Snap to Desktop, Snapper tries to rearrange the selected windows within the defined region so that their relative positions and sizes are maintained (with respect to each other).

As you finish defining your region, if you press and hold down the right mouse button before you release the left button,you can move the final destination of the rectangle around the screen. When you release the right button, the selected windows (defined at the point where you released the left mouse button) will fill the rectangle in the desired location.  This feels a bit weird at first, but it's really useful, so it's worth persevering. Let's see an example of the power of this utility...

Snap to Region also has a special facility which allows you to define a default region.

 Click here for hints and tips


DEFINING A DEFAULT FOR SNAP TO REGION

You can set Snap to Region as the default Snapper option using the setup dialog box. This will allow you to invoke the Snap to Region command by simply double-clicking the Snapper icon using the right mouse button. In normal operation, the Windows cursor is replaced with the Snapper cursor and you define and relocate the snapping region as described previously. However, there is an option within the setup dialog box to define and use a default snapping region when invoking Snap to Region via a double-click of the Snapper icon.

This option was included for financial markets where users may have two monitors running on the same PC. Typically, one display is used as a scratchpad whilst the other is used for displaying data of a more permanent nature. The default snapping region is defined to encapsulate this second display. When the user opens a window in the scratchpad area, he can move it into the second display and use the default Snap to Region to re-organise only the second display screen. However, the same principle can be applied to single desktop systems.

To implement this option, you should enable the "Use Pre-defined Region.." option and select Snap to Region as the default within the setup dialog. You can also define the default region using the left mouse button. Thereafter, any double-clicking of the Snapper icon with the right mouse button will invoke Snap to Region using the default option.

Note, this default region is only invoked via the double-click of the right mouse button; if you select Snap to Region from the menu you will always have to define the region using the left mouse button.


HOW TO USE SNAP TO REGION

Snapper was originally designed for users who require that all windows should be fully visible on the desktop; a typical example is real-time financial data, where it is crucial that the user can see exactly what is going on in each of his or her applications. Should a user wish to open a new window (say a vertical Price Ticker in the financial arena), he or she would have to re-arrange all the other windows in order to create some space for the new application on the desktop. With Snapper, this process is very easy!

step 0	step 1	step 2
	Initial desktop which you have previously aligned with Snapper!  However, you need a new window.		Using Snap to Region, define the area you want to collapse the desktop into.  Remember, only windows enclosed by the region are scaled.		Hold down the right mouse button before releasing the left button and relocate the region to the right-most position on the desktop.
step 3	step 4	step 5
	Release the mouse button. Snapper now scales the selected windows to fit the region. You now have an area for your new window.		Open your new application and place the window roughly in the available space.		Use Snap to Neighbour to scale the window as above or use Snap to Desktop......
step 6	...to fill the available space on the desktop		When finished with the new window, close it and use Snap to Desktop to re-scale back to the linitial layout as shown in step 0


SNAP TO REGION HINTS AND TIPS

•      You can set Snap to Region as the default Snapper option using the setup dialog box. This will allow you to invoke the Snap to Region command by simply double-clicking the fearsome Snapper icon using the right mouse button.

•      Minimized applications are not included in the Snap to Region instruction, so minimize any you don't want to include in the arrangement.

•      Popup windows such as dialog boxes and message boxes are not included in the Snap to Region instruction. This is because these windows are considered to be temporary in nature. Unfortunately, there are a rare number of applications where the main display has also been designed as a popup feature. Snapper will not include these applications in any desktop reorganisation and may therefore not produce the desired result.

•      Some applications are designed to have a restricted range of possible sizes for their main display window; a good example of this are MS-DOS windows where the maximum window dimensions are defined by the size of the font used. When Snapper tries to resize this type of application, there is no guarantee that the window will allow itself to be modified, and results may not be as expected.


Snap to Grid

Snap to Grid - Using Snapper to perform minor alignments

Snapping to Grid is a way of imposing a degree of order and discipline on your desktop without forcing it to undergo major surgery.  Use it to align your windows to an invisible grid (which can be any size you choose from a large selection). This is particularly useful for eliminating small gaps or areas of overlap between windows; the usual method of dragging the edge of one window up to the other can be time-consuming.

With Snapper, the screen is divided up into an invisible grid with spacing as defined in the setup dialog. When Snap to Grid is invoked, the edges of all the windows on the desktop are dragged to the nearest gridpoint. Windows which overlap slightly or have a small gap between each other, should snap to the same grid-point and therefore fit snugly together. Window dimensions which extend beyond the limits of the desktop are cropped to the edge of the desktop.

	becomes this

Use the Snapper setup option to size the grid according to your preferences.


Snap to Neighbour

Snap to Neighbour - Aligning a single window with its surrounding windows.

Snapping to Neighbour is a neat way of forcing a window to fill a space which you reckon would be just perfect for it.  This might mean that the window in question snuggles up to a single neighbour, fits into the angle made by two adjacent windows, or fits into the gap left between three or more windows.

	becomes this

When using Snap to Neighbour, make sure that the window you wish to be snapped is the active (highlighted) window before you call up the Snapper menu; when you invoke the Snapper menu the previously active window is assumed to be the window requiring modification.

Sometimes when Snap to Neighbour is being used, Snapper doesn't have enough information to know what you had in mind and so can't carry out its job until it knows more about what you want.  In these cases, a dialog box appears which asks you to choose between two courses of action: either you move the window in question to a position where it's more obvious what you had in mind, or you point out the desired destination with the fearsome Snapper cursor, which is much more fun. Press the Escape key to revert to your normal cursor if you change your mind.


MDI

What do we mean by MDI?

MDI, which stands for Multiple Document Interface, is a standard way of organizing certain types of applications in which one master window holds a number of child windows.  The most popular Windows program that uses this interface is Microsoft Excel, although many other programs also use it.  Excel will hold a number of spreadsheets, charts and macro sheets within the Excel main window, but these child windows cannot be floated off outside the master or parent window.

Snapper's four main functions can be applied to both the desktop as a whole and to the children of MDI applications, which can be really useful if the application itself doesn't offer anything more than the standard Windows Tile facility.

When the Snapper menu is called up, Snapper assumes that the previously active window may be the application that you want to perform MDI functions on. The MDI options are only enabled if the previously active window has a valid MDI interface. Otherwise the options are disabled.


Snap to MDI Parent

Snap to MDI Parent - How to tidy up the windows inside an MDI application.

This option is used when you want to take all of the suitable child windows that are in a restored or maximized state in your MDI application and arrange them to use all of the available space in the master window.  In other words, it will allow you to turn this

	into this	or this [image] within the MDI frame
	minimized applications hidden		minimised applications visible

In order to invoke the Snap to MDI Parent option, make sure that the desired MDI application is the active window before you call up the Snapper menu. When invoked, Snapper assumes that the previously active window may be the application that you want to perform MDI functions on. The MDI options are only enabled if the previously active window has a valid MDI interface. Otherwise the options are disabled.

You can use the Snapper setup option to determine whether or not Snapper should preserve an area at the bottom of the master window for your minimized child windows.

The Snap to MDI Parent command is in fact a modified version of Snap to Desktop; most of the instructions for Snap to Desktop apply equally in Snap to MDI Parent.

Note, minimized child windows are not included in the Snap to MDI Parent instruction. Also, Snap to MDI Parent cannot be invoked by double-clicking the Snapper icon using the right mouse button.


Snap to MDI Region

Snap to MDI Region - How to tidy some of the windows inside an MDI application

Use this option when you want to organize some but not all of the child windows inside your MDI frame.  You may, for instance, be happy with the way one child window looks but want to fit all the other child windows around it as well as possible.  Snap to MDI Region will let you do this.

	becomes this [image] within the MDI frame

In order to invoke the Snap to MDI Region option, make sure that the desired MDI application is the active window before you call up the Snapper menu. When invoked, Snapper assumes that the previously active window may be the application that you want to perform MDI functions on. The MDI options are only enabled if the previously active window has a valid MDI interface. Otherwise the options are disabled.

The Snap to MDI Region command is in fact a modified version of Snap to Region. Therefore, most of the instructions for Snap to Region apply equally to Snap to MDI Region.

Note, minimized child windows are not included in the Snap to MDI Region instruction. Also, Snap to MDI Region cannot be invoked by double-clicking the Snapper icon using the right mouse button.


Snap to MDI Grid

Snap to MDI Grid - Using Snapper to perform minor alignments within an MDI application

Snapping to MDI Grid is a way of imposing a degree of order and discipline on the child windows inside your MDI application without forcing it to undergo major surgery.  Use it to align your child windows to an invisible grid (which can be any size you choose from a large selection). This is particularly useful for eliminating small gaps or areas of overlap between windows; the usual method of dragging the edge of one window up to the other can be time-consuming.

With Snapper, the screen is divided up into an invisible grid with spacing as defined in the setup dialog. When Snap to Grid is invoked, the edges of all the windows in the MDI frame are dragged to the nearest gridpoint. Windows which overlap slightly or have a small gap between each other, should snap to the same grid-point and therefore fit snugly together. Window dimensions which extend beyond the limits of the MDI frame are cropped to the edge of the frame.

	becomes this [image] within the MDI frame

When using Snap to MDI Grid, make sure that the MDI frame you wish to be snapped is the active (highlighted) window before you call up the Snapper menu; when you invoke the Snapper menu the previously active window is assumed to be the window requiring modification.

Use the Snapper setup option to size the grid according to your preferences.


Snap to MDI Neighbour

Snap to MDI Neighbour - Aligning a single child window with its surrounding windows.

Snapping to MDI Neighbour is a neat way of forcing a window to fill a space which you reckon would be just perfect for it.  This might mean that the window in question snuggles up to a single neighbour, fits into the angle made by two adjacent windows, or fits into the gap left between three or more windows.

	becomes this [image] within the MDI frame

When using Snap to MDI Neighbour, make sure that the window you wish to be snapped is the active (highlighted) window before you call up the Snapper menu; when you invoke the Snapper menu the previously active window is assumed to be the window requiring modification.

Sometimes when Snap to MDI Neighbour is being used, Snapper doesn't have enough information to know what you had in mind and so can't carry out its job until it knows more about what you want.  In these cases, a dialog box appears which asks you to choose between two courses of action: either you move the window in question to a position where it's more obvious what you had in mind, or you point out the desired destination with the fearsome Snapper cursor, which is much more fun. Press the Escape key to revert to your normal cursor if you change your mind